var alunoId = location.hash.slice(1);
var aluno;

dojo.ready(function() {
    document.getElementById('aluno').href= '/aluno.html#' + alunoId;

    service.getAlunoById(alunoId)
    .addCallback(function(result) {
        if (result == null) {
            alert('Aluno não encontrado');
        }

        aluno = result;

        service.getCursoById(aluno.curso)
        .addCallback(function(curso) {
            service.getCursosByDepartamento(curso.departamento)
            .addCallback(function(cursos) {
                cursos.forEach(function(curso) {
                    service.getDisciplinasByCurso(curso._id)
                    .addCallback(function(disciplinas) {
                        disciplinas.forEach(function(disciplina) {
                            document.getElementById('disciplinas').innerHTML
                                += '<li><a href="/disciplina.html#' +  disciplina._id + '">'
                                + decodeURI(disciplina.nome)
                                + '</a>'
                                + '<button type="button" '
                                + 'onclick="onMatricular(\''
                                + disciplina._id
                                + '\')">Matricular</button>'
                                + '</li>';
                        });
                    })
                    .addErrback(onErrback);
                });
            })
            .addErrback(onErrback);
        })
        .addErrback(onErrback);
    })
    .addErrback(onErrback);
});

function onMatricular(id)
{
    service.matricularAluno(alunoId, id)
    .addCallback(function(result) {
        alert(result);
        location = 'http://' + location.host + '/aluno.html#' + alunoId;
    })
    .addErrback(onErrback);
}
